const { url } = require('../../config/index.js') // 接口请求地址
const { wxPay } = require('../../common/js/payInOrder.js') // 订单内发起支付

Page({
  // 页面的初始数据
  data: {
    rechargeInfo: {},
    now: 0, // 当前选择索引
    rechargeNumber: 0, // 默认金额
    showSendNum: false // 是否显示其他金额的赠送金额
  },
  // 明细跳转
  detailedJump (e) {
    let jumpType = e.currentTarget.dataset.way
    wx.navigateTo({
      url: '/pages/detailed/detailed?way=' + jumpType,
    })
    console.log(e)
  },
  // 打电话
  callCNT () {
    wx.makePhoneCall({
      phoneNumber: '4008829916' //仅为示例，并非真实的电话号码
    })
  },
  // 金额点击
  taptap (e) {
    let index = e.currentTarget.dataset.index
    let money = e.currentTarget.dataset.money
    this.setData({ now: index, rechargeNumber: money })
  },
  // 其他金额输入
  anyInput (e) {
    let n = e.detail.value
    if (n == '') {
      n = 0
    }
    this.setData({ rechargeNumber: n })

    // 大于满赠金额
    if (Number(this.data.rechargeNumber) >= Number(this.data.rechargeInfo.GIFT_PRICE)) {
      this.setData({ showSendNum: true})
    } else {
      this.setData({ showSendNum: false })
    }
  },
  // 输入框焦点
  inputFocus () {
    this.setData({ now: 'other'})
  },
  // 充值方法
  recharge () {
    // 充值
    wx.request({
      url: url + 'pospal/createPospaltopUpOrder.action',
      method: 'POST',
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      data: {
        USER_ID: wx.getStorageSync('userInfo').USER_ID,
        AMOUNT: this.data.rechargeNumber // 金额
      },
      success: res => {
        if (res.data.STATUS_CODE == 1) {
          // * TRADE_NO 流水号
          // * TOTAL_FEE 支付金额
          // * BODY 商品描述

          // 支付
          wxPay(res.data.TRADE_NO, res.data.TOTAL_FEE, res.data.BODY)
          .then((data) => {
            // 成功
            wx.showToast({
              title: '支付成功',
            })
            setTimeout(() => {
              wx.switchTab({
                url: '/pages/my/my',
              })
            }, 1500)
          }, (data) => {
            // 失败
            wx.showModal({
              title: '提示',
              content: '支付失败',
              showCancel: false
            })
          })
          
        }
      }
    }) 
  },
  // 确定按钮
  submit () {
    if (this.data.rechargeNumber == 0){
      wx.showModal({
        title: '提示',
        content: '充值金额不能为0',
        showCancel: false
      })
      return
    }
    // 自定义金额
    if (this.data.now == 'other' && (this.data.rechargeNumber < this.data.rechargeInfo.MIN_PRICE) && (this.data.rechargeNumber % 10 != 0)){
      wx.showModal({
        title: '提示',
        content: '请输入' + this.data.rechargeInfo.MIN_PRICE  + '以上10的整数倍',
        showCancel: false
      })
      return
    }
    this.recharge()
  },
  // 获取充值信息
  getRecharge () {
    wx.showLoading({
      mask: true
    })
    wx.request({
      url: url + 'pospal/getPospalTopUpRules.action',
      method: 'POST',
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      data: {},
      success: res => {
        wx.hideLoading()
        if (res.data.STATUS_CODE === 1) {
          this.setData({ rechargeInfo: res.data, rechargeNumber: res.data.SEND_PRICE[0].RECHARGE_MONEY })
        }
      }
    })
  }, 
  // 生命周期函数--监听页面加载
  onLoad: function (options) {
    this.getRecharge()
  },
  // 生命周期函数--监听页面初次渲染完成
  onReady: function () {
  },
  // 生命周期函数--监听页面显示
  onShow: function () {
  },
  // 生命周期函数--监听页面隐藏
  onHide: function () {
  },
  // 生命周期函数--监听页面卸载
  onUnload: function () {
  },
  // 页面相关事件处理函数--监听用户下拉动作
  onPullDownRefresh: function () {
  },
  // 页面上拉触底事件的处理函数
  onReachBottom: function () {
  },
  // 用户点击右上角转发
  onShareAppMessage: function () {
  },
  // 页面滚动触发事件的处理函数
  onPageScroll: function () {
  },
  // 当前是 tab 页时，点击 tab 时触发
  onTabItemTap () {
  }
})
